home *** CD-ROM | disk | FTP | other *** search
/ Gamers Delight 2 / Gamers Delight 2.iso / Aminet / game / misc / DC10.lha / DC10 / DC10EUR.bas (.txt) < prev    next >
AmigaBASIC Source Code  |  1987-06-15  |  25KB  |  566 lines

  1.  
  2.  REM  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
  3.  REM  * DC-10 Flightsimulation ( part 2 ), by Jan Arkesteijn, <C> 1988  *
  4.  REM  * V 0.1f released in the public domain 9 april 1988, see doc file *
  5.  REM  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  6.  
  7.  CLEAR,30000
  8. start:                    
  9.  SCREEN 2,639,152,2,2
  10.  WINDOW 2,"DC-10-30 prototyping by Jan Arkesteijn <C> 1988",,24,2
  11.  PALETTE 0,0,0,0:PALETTE 1,0,0.75,0:PALETTE 2,0,0.8,1:PALETTE 3,1,1,0
  12.  RANDOMIZE TIMER:DEFINT n-z:DIM rr%(40),ll%(40),uu%(40),dd%(40)
  13.  DECLARE FUNCTION AllocMem& LIBRARY   :DECLARE FUNCTION DoIO% LIBRARY
  14.  DECLARE FUNCTION OpenDevice% LIBRARY :DECLARE FUNCTION AllocSignal% LIBRARY
  15.  DECLARE FUNCTION FindTask& LIBRARY   :LIBRARY "exec.library"
  16.  mem&=2^0+2^16:port&=AllocMem&(33,mem&):IF port&=0 THEN PRINT"TROUBLE_1"
  17.  sB%=AllocSignal%(-1):IF sB%=-1 THEN PRINT"TROUBLE_2"
  18.  st&=FindTask&(0):port$="KbdPort"+CHR$(0)
  19.  POKE  port&+ 8,4 :POKE  port&+ 9,0  :POKEL port&+10,SADD(port$)
  20.  POKE  port&+14,0 :POKE  port&+15,sB%:POKEL port&+16,st&
  21.  POKEL port&+20,port&+24 :POKEL port&+28,port&+20: CALL AddPort(port&)
  22.  req&=AllocMem&(48,mem&):IF req&=0 THEN PRINT"TROUBLE_3"
  23.  kbd&=AllocMem&(13,mem&):IF kbd&=0 THEN PRINT"TROUBLE_4" 
  24.  POKE  req&+ 8,5 :POKE req&+ 9,0:POKEL req&+14,port&
  25.  POKEW req&+28,10:POKE req&+30,1:POKEL req&+36,13
  26.  POKEL req&+40,kbd&:dev$="keyboard.device"+CHR$(0)
  27.  fout%=OpenDevice(SADD(dev$),0,req&,0):IF fout%<>0 THEN PRINT"TROUBLE_5"
  28.  z1=RND*20:z2=25+RND*20:z3=4000+RND*5000:z4=15000+RND*15000
  29.  x0=16:x7=333:xo=12:y0=20:y1=80:y5=333:qs=10
  30.  p1=13:p2=13:p3=13:p4=13:p6=15:p7=20:p8=20:p9=20
  31.  t1=4:t2=42:t3=315:t4=202:s4=13
  32.  mp=234000:ma=1:v6=180:m0=0.86:v9=158:wa=320:m=200000:mz=250000:fl=15000
  33.  g1=9.81:uc=1:mr=1:sf=5:n0=25:n1=25:n2=110:h0=50:st(1)=16:st(2)=25
  34.  nt(1)=5:nt(2)=10:nt(3)=15:nt(4)=25:nt(5)=35:nt(6)=45:nt(7)=55
  35.  ca$="###.#":cb$="####.#"::cd$="\ \/###":cl$=".##":cr$="##.#":cx$="#.#"
  36.  cs$="###":cv$="#####":co$="      ":cn$="           "
  37.  c0=0.0174533:c1=1.9417:c4=6078.7:c5=0.5:c9=0.0001:do=20160:e0=9e-06
  38.  q1=60:q2=90:q3=180:q4=360:q7=100:q9=1000
  39.  CLS:COLOR 2,0
  40.  LINE(7,4)-(8,11),2,bf:AREA(3,3):AREA(12,3):AREA(8,0):AREA(7,0):AREAFILL
  41.  AREA(3,12):AREA (12,12):AREA(8,15):AREA(7,15):AREAFILL
  42.  LINE(16,3)-(23,3),2:AREA (31,3):AREA(24,1):AREA (24,5):AREAFILL
  43.  LINE(24,11)-(31,11),2:AREA(16,11):AREA(23,9):AREA(23,13):AREAFILL
  44.  GET(0,0)-(15,7),uu%:GET(0,8)-(15,15),dd%:GET(16,0)-(31,7),rr%
  45.  GET(16,8)-(31,15),ll%:CLS:COLOR 1,0
  46. agn1: 
  47.  LOCATE 3,5:PRINT"Flight preparation ":LOCATE 5,5:PRINT"Take-off from :"
  48.  LOCATE 6,5:PRINT"1) ASD 19R  3) ASD 27   5) BXL 25L  7) LHR 10R  9) MST 22"
  49.  LOCATE 7,5:PRINT"2) ASD 24   4) BMH 15   6) LGW 08   8) MCR 06   0) RTD 24"
  50.  LOCATE 9,5:INPUT"Enter your choice (0 to 9)";tc:IF tc<0 OR tc>9 THEN agn1
  51.  IF tc=1 THEN rv$="250:52.3322:+4.74271":z(0)=2
  52.  IF tc=2 THEN rv$="250:52.3067:+4.77728":z(0)=4
  53.  IF tc=3 THEN rv$="250:52.3208:+4.79692":z(0)=8
  54.  IF tc=4 THEN rv$="205:52.4631:-1.75780":z(0)=16
  55.  IF tc=5 THEN rv$="250:50.8959:+4.51151":z(0)=32
  56.  IF tc=6 THEN rv$="220:51.1446:-0.20575":z(0)=64 
  57.  IF tc=7 THEN rv$="250:51.4686:-0.48410":z(0)=128
  58.  IF tc=8 THEN rv$="218:53.3468:-2.29155":z(1)=1
  59.  IF tc=9 THEN rv$="220:50.9235:+5.77800":z(1)=2
  60.  IF tc=0 THEN rv$="207:51.9636:+4.45220":z(1)=4
  61.  wm=VAL(LEFT$(rv$,3)):fx#=VAL(MID$(rv$,5,7)):fy#=VAL(RIGHT$(rv$,8))
  62.  GOTO rwy
  63. rtn1: 
  64.  ak=rd+3-RND*5:al=ak:ra=ak:mc=5:f1=52.2847:f2=4.75583:f3=51.4867:f4=-0.465
  65.  f9=51.4756:f0=5.59056:l1$="EHN:51.4756:+5.59056"
  66.  v1$="SPL:52.2847:+4.75583:3.9":v$=v1$:v2$="LON:51.4756:-0.46500:7.0"
  67.  w0=5+RND*10:r0=75+RND*65:ry=r0-((tc<=3)+(tc=5)+(tc=9))*120
  68.  r1=(1+2*(INT(RND*2)=1))*(5+RND*10):w2=5+RND*10:w9=40+RND*20:r9=278
  69.  bx=w0*COS((ak-ry)*c0)*COS(ak*c0):by=bx*TAN(ak*c0)
  70.  GOTO prep
  71. rtn2: 
  72.  LOCATE 2,4:PRINT RIGHT$(STR$(q7+th),2);":";RIGHT$(STR$(q7+tm),2);":";
  73.  PRINT RIGHT$(STR$(q7+ts),2):ts=ts+1
  74.  IF ts=q1 THEN tm=tm+1:ts=0:IF tm=q1 THEN th=th+1:tm=0
  75.  IF n1>70 THEN IF z1=5 AND h>z4 OR z1=10 AND h>z3 OR z1=15 AND z2<ts THEN o1=0
  76.  n3=n1-98-h/3500:n4=n4+n3:n5=n5+n3:IF n4<0 OR n5<0 THEN n4=0:n5=0
  77.  IF n4>600 THEN LOCATE 2,55:PRINT"*";:IF n4>630 THEN n4=630
  78.  IF n5>1200 THEN o1=0:IF n5>5000 THEN n5=5000
  79.  fh=(0.37+0.29*mn)*ABS(ma)/(g1*mr):fc=fh/3600:m=m-fc:fl=fl-fc:g=g1*m
  80.  IF fl<200 THEN o1=0:o2=0:o3=0:LOCATE 4,7:PRINT"EMPTY";:GOTO sct0
  81.  LOCATE 3,7:PRINT USING ca$;m/q9;:LOCATE 4,7:PRINT USING ca$;fl/q9;
  82.  LOCATE 5,7:IF fl>200 THEN PRINT USING ca$;fh/q9; :ELSE PRINT co$;
  83. sct0: 
  84.  IF n1>n0 OR n1<-n0 THEN n9=ABS(n1) :ELSE n1=n0*SGN(n1):n9=n0
  85.  LOCATE 9,52:IF o1=1 THEN PRINT USING cs$;n9; :ELSE PRINT" SD";
  86.  LOCATE 9,56:IF o2=1 THEN PRINT USING cs$;n9; :ELSE PRINT" SD";
  87.  LOCATE 9,60:IF o3=1 THEN PRINT USING cs$;n9: :ELSE PRINT" SD";
  88.  IF tr=1 AND sg<15 THEN tr=0:n1=n0:mr=1:LOCATE 10,52:PRINT"   ";
  89.  LINE (417,p6)-(423,p6),0:LINE(454,p6)-(456,p6),0:LINE(460,p6)-(462,p6),0
  90.  LINE (493,p6)-(499,p6),0:p6=62-0.4*ABS(n1)
  91.  IF o1=1 THEN LINE (417,p6)-(423,p6),3
  92.  IF o2=1 THEN LINE (454,p6)-(456,p6),3:LINE(460,p6)-(462,p6),3
  93.  IF o3=1 THEN LINE (493,p6)-(499,p6),3
  94.  n=o1+o2+o3:LOCATE 10,57:IF n<3 THEN PRINT 3-n;"OUT"; :ELSE PRINT co$
  95.  ae=(do-dz)/(do+dz):ma=n1*ABS(n1)*c9*n*mr*mp*ae*(1-0.9*mn+c5*mn*mn)
  96.  af=0.6113*ae:bb=c0*ab:bk=c0*ak:bo=c0*ao:bp=c0*ap:co=COS(bo):io=SIN(bo)
  97.  IF h>h0 THEN dg=0.0476 :ELSE dg=0.0476-0.02*(1-h/h0)
  98.  IF mn>m0 THEN dm=(1+60*cl^6)*(1+1800*(mn-m0)^2):IF mn>(29-cl)/30 GOTO hstall
  99.  cd=(0.001*(x0+xo+xr+dm)+dg*cl*cl+x7*1e-12*aa^7)*(1-(o1<>o3)*0.08)
  100.  IF dz>0 THEN gr=0:GOTO sct1 :ELSE gq=0.02*(g-li)*(bg*bg+15)/(bg*bg+5)
  101.  IF q=0 AND ma>0 AND ma<gq THEN gr=ma 
  102.  IF q=0 AND ma<=0 AND ma>=gq THEN gr=gq
  103.  IF q=1 AND bg>1 THEN gr=gq :ELSE IF q=1 AND bg<=1 THEN gr=bg*gq
  104. sct1:
  105.  IF bg>5 THEN bv=1 :ELSE bv=0.2*bg
  106.  IF h=0 AND uw=1 THEN bw=2*bv*(mz-q*(mz-m)) :ELSE bw=0 
  107.  dr=af*bs*cd*wa:bn=ABS(bg*bg*an*c0/20)
  108.  aw=(ma*COS(bp)+(bg>1)*dr*co-gr-bw-li*io)/m:av=ABS(li*co*SIN(bb)/m)
  109.  ax=aw*COS(bk)+av*COS(bk+SGN(ab)*q2*c0)
  110.  ay=aw*SIN(bk)+av*SIN(bk+SGN(ab)*q2*c0)
  111.  IF uk=1 THEN bk=(rd-3+RND*4)*c0:bx=bh*COS(bk):by=bh*SIN(bk):uk=0
  112.  bx=bx+ax+bn*COS(bk+SGN(an)*q2*c0):IF bx=0 THEN bx=c9
  113.  by=by+ay+bn*SIN(bk+SGN(an)*q2*c0):bf=bx*bx+by*by:bh=SQR(bf)
  114.  IF bh>1 THEN ak=ATN(by/bx)/c0+q2*(2-SGN(by)-SGN(bx)*SGN(by))
  115.  za=ak+mc+c5:za=za+(za>q4)*q4
  116.  IF h<h0 THEN lg=1.05-0.001*h :ELSE lg=1
  117.  cl=(0.01*y0+0.001*y1*aa-1e-09*y5*aa*aa*aa*aa*aa)/SQR(1-mn*mn+mn^7)
  118.  IF aa>qs AND cl<0 THEN cl=0
  119.  li=af*lg*cl*wa*bs:az=(li*co*COS(bb)-g-dr*io+ma*SIN(bp))/m:bz=bz+az
  120.  cz=196.72*bz:IF dz<=0 AND bz<=0 THEN az=0:bz=0:cz=0
  121.  dz=dz+bz+c5*az:h=3.2787*dz:IF dz<=0 THEN dz=0:h=0
  122.  bs=bf+bz*bz:bt=SQR(bs):s=c1*bt:si=s*SQR(ae*(1+0.25*mn*mn))
  123.  mn=bt/(340-0.0044*dz):ao=ATN(bz/(bh+c9))/c0:aa=ap+1-ao
  124.  IF aa<qs AND h>0 THEN LOCATE 3,36:PRINT cn$ :ELSE lstall
  125. rtn3:
  126.  br=c0*(ak-wd+q3):cr=COS(br)
  127.  IF dz>0 THEN
  128.    bg=SQR(fw*fw+bf+2*fw*bh*cr):fd=ak-ATN(fw*SIN(br)/(bh+fw*cr))/c0
  129.  ELSE
  130.    bg=bh+fw*cr:fd=ak
  131.    IF bg<0.2 THEN bg=0
  132.  END IF
  133.  fd=fd+(fd>=q4)*q4-(fd<0)*q4:zd=fd+mc+c5:zd=zd+(zd>=q4)*q4
  134.  LOCATE 12,25:PRINT RIGHT$(STR$(q9+za),3);
  135.  LOCATE 12,58:PRINT RIGHT$(STR$(q9+zd),3);
  136.  kl=ABS(ak-al):LOCATE 2,44:PRINT USING cx$;ABS(kl+(kl>q2)*q4);:al=ak
  137.  LOCATE 9,24:PRINT USING cs$;si;
  138.  LOCATE 7,9:PRINT USING cl$;mn;:LOCATE 10,40:PRINT USING cv$;h;
  139.  IF ABS(cz)<9999 THEN 
  140.    LOCATE 10,24:PRINT USING cv$;cz;:LOCATE 10,23:PRINT":";
  141.  ELSE
  142.    LOCATE 10,24:PRINT USING cv$;9999*SGN(cz);:LOCATE 10,23:PRINT">";
  143.  END IF
  144.  sg=c1*bg:LOCATE 8,9:PRINT USING cs$;s;:LOCATE 10,9:PRINT USING cs$;sg;
  145.  LOCATE 9,6:PRINT USING cd$;RIGHT$(STR$(q9+wd-(wd<0)*q4),3);c1*fw;
  146.  LOCATE 2,55:PRINT" "; 
  147.  LINE(182,p7)-(188,p7),0
  148.  IF si>90 AND si <410 THEN p7=74-si/6.25:LINE(182,p7)-(188,p7),3
  149.  z=z+1:IF z=7 THEN z=1                                        
  150.  IF z<>2 THEN sct2
  151.  ry=r0+(gy>1)*(gy<3)*(gy-1)*60-(gy>=3)*120:r2=ry+4*r1
  152.  IF dz<2000 THEN fw=w0+(w2-w0)*dz/2000:wd=ry+r1*dz/500
  153.  IF dz>=2000 AND dz<9000 THEN fw=w2:wd=r2
  154.  IF dz>=9000 AND dz<9500 THEN dj=(dz-9000)/500:fw=w2+w9*dj:wd=r2+(r9-r2)*dj
  155.  IF dz>=9500 AND dz<11000 THEN fw=w2+w9:wd=r9
  156.  IF dz>=11000 AND dz<11500 THEN dj=(11500-dz)/500:fw=(w2+w9)*dj
  157.  mc=6.5-c5*gy:IF mc<0 THEN mc=0 :ELSE IF mc>10 THEN mc=10
  158. sct2: 
  159.  IF z=3 OR z=6 THEN 
  160.    LINE (t1,t2)-(t1+2,t2+1),0,bf:ba=za*c0:t1=186+18*SIN(ba):t2=115-8*COS(ba)
  161.    LINE (t1,t2)-(t1+2,t2+1),2,bf
  162.  END IF 
  163.  fx#=fx#+(bg*COS(fd*c0)+c5*ax)*e0:gx=fx#
  164.  fy#=fy#+(bg*SIN(fd*c0)+c5*ay)*e0/COS(gx*c0):gy=fy#
  165.  IF z=1 THEN fa=f1:fb=f2:mv=md
  166.  IF z=4 THEN fa=f3:fb=f4:mv=me
  167.  IF z=5 THEN fa=f9:fb=f0:mv=0
  168.  IF z=2 OR z=3 OR z=6 THEN sct3
  169.  da=(gx-fa)*q1:db=(gy-fb)*q1*COS((fa+gx)*c5*c0):IF da=0 THEN da=c9
  170.  ra=ATN(db/da)/c0+q2*(2-SGN(db)-SGN(da)*SGN(db))
  171.  re=q3-fd+ra+(z<>5)*(mc-mv)+c5:re=re+(re>=q4)*q4-(re<0)*q4
  172.  ra=ra+(z=5)*q3-(z<>5)*mv-(z=5)*mc+c5:ra=ra-(ra<0)*q4+(ra>=q4)*q4
  173.  LOCATE 12+z+(z=5)*4,76+(z=5)*70:PRINT RIGHT$(STR$(q9+ra),3);
  174.  LOCATE 13+z+(z=5)*4,71+(z=5)*65:PRINT RIGHT$(STR$(q9+re),3);  
  175.  IF z=1 OR z=4 THEN 
  176.    wv=SQR(da*da+db*db):di=4+0.6*wv/sf:LOCATE 12+z,66:PRINT USING cv$;wv;
  177.  END IF
  178.  IF z=5 THEN re=ra
  179.  be=re*c0:ce=COS(be):ie=SIN(be)
  180.  IF z=1 THEN 
  181.   LINE(t6,t7)-(t6+2,t7+1),0,bf
  182.   IF wv<25*sf THEN t6=452+2.2*di*ie:t7=114-di*ce:LINE(t6,t7)-(t6+2,t7+1),3,bf
  183.  END IF
  184.  IF z=4 THEN
  185.   LINE(t8,t9)-(t8+2,t9+1),0,bf
  186.   IF wv<25*sf THEN t8=452+2.2*di*ie:t9=114-di*ce:LINE(t8,t9)-(t8+2,t9+1),2,bf
  187.  END IF
  188.  IF z=5 THEN
  189.    LINE(s8,s9)-(s8+2,s9+1),0,bf
  190.    s8=188+25*ie:s9=115-11*ce:LINE(s8,s9)-(s8+2,s9+1),3,bf
  191.  END IF    
  192. sct3:
  193.  IF z=2 OR z=5 THEN 
  194.    fa=f5:fb=f6 
  195.  ELSEIF z=3 OR z=6 THEN
  196.    fa=f7:fb=f8 
  197.  ELSE
  198.    GOTO sct4
  199.  END IF
  200.  da=(fa-gx)*q1:db=(fb-gy)*q1*COS((fa+gx)*c5*c0):IF da=0 THEN da=c9
  201.  dv=SQR(da*da+db*db)+c9
  202.  IF z=2 OR z=5 THEN
  203.    am=ATN(db/da)/c0+q2*(2-SGN(db)-SGN(da)*SGN(db))
  204.    aho=ah:ah=rd-am:ea=dv*ABS(ah):dt=dv
  205.  ELSE
  206.    GOTO sct5
  207.  END IF
  208.  IF h=0 THEN 
  209.    LOCATE 17,1 :PRINT"REMAIN:";:PRINT USING cv$;dv*c4-q9;:PRINT" FT";
  210.  ELSE
  211.    GOTO sct6
  212.  END IF
  213.  ab=0:IF dv<du AND dv>0.16 AND ea<1 THEN sct7
  214.  IF dv<du+1 AND dv>du AND ABS(ah)<3 THEN crash1
  215.  IF dv<du AND dv>0.16 AND ea>1 AND ea<3 AND ah<45 THEN crash4
  216.  IF dv <0.16 AND ea<1 THEN crash5
  217.  GOTO crash9
  218. sct7: 
  219.  IF xo<>12 THEN crash7
  220.  IF cz<=-700 THEN crash2
  221.  IF cz<-400 AND cz>-700 THEN uv=1
  222.  IF sg=0 AND uv=1 THEN crash3 
  223. sct6:
  224.  IF q<>1 THEN sct4
  225.  LOCATE 17,35
  226.  IF ABS(ah)<=5 THEN PRINT USING cx$;ABS(ah);
  227.  IF ah>5  THEN PRINT" LE";
  228.  IF ah<-5 THEN PRINT" RI";
  229.  IF ah=0 OR (ah>0 AND aho<0) OR (ah<0 AND aho>0) THEN LOCATE 29,33:PRINT"  ";
  230.  IF ah>0 THEN PUT(256,128),ll%,OR
  231.  IF ah<0 THEN PUT(256,128),rr%,OR
  232.  GOTO sct4
  233. sct5: 
  234.  IF h>0 THEN LOCATE 17,1:PRINT"TO GO:";: PRINT USING cb$;dv;:PRINT" NM";
  235.  IF q<>1 THEN sct4
  236.  am=ATN(h/(dv*c4))/c0:aio=ai:ai=am-3
  237.  IF h<50 THEN LOCATE 17,43:PRINT co$;:GOTO sct8
  238.  LOCATE 17,43
  239.  IF ABS(ai)<=1 THEN PRINT USING cx$;ABS(ai);
  240.  IF ai>1  THEN PRINT" DN";
  241.  IF ai<-1 THEN PRINT" UP";
  242.  IF ai=0 OR (ai>0 AND aio<0) OR (ai<0 AND aio>0) THEN LOCATE 17,46:PRINT"  ";
  243.  IF ai>0 THEN PUT(360,128),dd%,OR
  244.  IF ai<0 THEN PUT(360,128),uu%,OR
  245. sct8:
  246.  LINE(t3,90)-(t3+1,122),0,bf:t3=315-9.6*(ah+(ah>5)*(ah-5)+(ah<-5)*(ah+5))
  247.  LINE(t3,90)-(t3+1,122),3,bf:LINE(267,t4)-(363,t4),0
  248.  t4=106+16*(ai+(ai>1)*(ai-1)+(ai<-1)*(ai+1)):LINE(267,t4)-(363,t4),3 
  249.  LOCATE 4,40
  250.  IF ABS(ah)<2 THEN
  251.    IF dv<4.2 AND dv>3.8 THEN 
  252.      PRINT"O M";
  253.    ELSEIF dv<0.7 AND dv>0.5 AND dt>du THEN 
  254.      PRINT"M M";
  255.    ELSE
  256.      PRINT co$;
  257.    END IF
  258.  END IF
  259.  x2=(4-n)*100:LOCATE 9,40
  260.  IF h<x2+30 AND h>x2-10 THEN PRINT"D H"; :ELSE PRINT co$;
  261.  IF h<x2+30 AND h>x2-20 THEN
  262.    IF ABS(ai)>0.7 OR ABS(ah)>c5 OR ABS(fd-rd)>3 THEN LOCATE 9,40:PRINT"O S";
  263.  END IF 
  264. sct4: 
  265.  cw=SQR(m/mz):v2=v6*cw:v1=v2-15:vr=v2-8:va=v9*cw+(3-n)*5
  266.  IF v1>160 THEN v1=160 
  267.  LOCATE 5,25
  268.  IF si>380 AND h<24000 THEN PRINT"V MO";:GOTO sct9
  269.  IF mn>0.88 AND dh>=24000 THEN PRINT"M MO";:GOTO sct9
  270.  IF si>v2-2 AND si<v2+5 AND nt=3 AND q=0 THEN PRINT"V 2 ";:GOTO sct9
  271.  IF si>va-2 AND si<va+5 AND nt=7 AND q=1 AND h>0 THEN PRINT"V AT";:GOTO sct9
  272.  IF si>vr-2 AND si<vr+5 AND nt=3 AND q=0 AND h=0 THEN PRINT"V R ";:GOTO sct9
  273.  IF si>v1-5 AND si<v1+2 AND q=0 AND h=0 THEN PRINT"V 1 ";:GOTO sct9
  274.  PRINT"    "; 
  275. sct9:
  276.  IF st=su AND nt=nu THEN sct10
  277.  su=st:nu=nt:y0=20+2*nt(nt):y5=-17*(st(st)>5)+1000/(st(st)+3)+2*nt
  278.  x0=16+0.4*st(st)+1.3*nt(nt):x7=1000/(st(st)+3)+4*nt(nt)
  279.  qs=11+0.4*st(st)-nt(nt)/8
  280.  LINE(548,p8)-(552,p8),0:p8=20+0.64*st(st):LINE(548,p8)-(552,p8),3
  281.  LINE(598,p9)-(602,p9),0:p9=20+0.58*nt(nt):LINE(598,p9)-(602,p9),3
  282. sct10:
  283.  IF uc=1 AND xo<12 THEN xo=xo+1:LOCATE 10,73:PRINT"* "; :ELSE sct11
  284.  IF xo>= 12 THEN xo=12:LOCATE 10,73:PRINT"DN";
  285. sct11:
  286.  IF uc=0 AND xo>0 THEN xo=xo-1:LOCATE 10,73:PRINT" *"; :ELSE kbd
  287.  IF xo<=0 THEN xo=0:LOCATE 10,73:PRINT"UP"; 
  288. kbd:
  289.  DoIO(req&):FOR x=0 TO 9:z(x)=PEEK(kbd&+x):z0=z0+z(x):NEXT
  290.  IF z0=0 AND aa<qs THEN rtn2 :ELSE z0=0
  291.  IF z(6)=8 AND z(9)=32 THEN
  292. pause: 
  293.  DoIO(req&):IF PEEK(kbd&+6)=8 AND PEEK(kbd&+9)=16 THEN rtn2
  294.  GOTO pause 
  295.  END IF
  296. rb1:
  297.  IF z(5)<>1 THEN rb2
  298.  IF z(0)=2  THEN l1$=" OA:52.4714:+4.75361"
  299.  IF z(0)=8   THEN l1$=" WP:52.3272:+5.03333"
  300.  IF z(0)=16  THEN l1$=" GX:52.5183:-1.82000"
  301.  IF z(0)=64  THEN l1$=" GY:51.1270:-0.31200"
  302.  IF z(1)=2   THEN l1$=" NW:51.0203:+5.87889"
  303.  IF z(1)=4   THEN l1$=" RR:52.0053:+4.76944"
  304. rb2:
  305.  IF z(2)<>2 THEN rb3
  306.  IF z(0)=2   THEN l1$="BPK:51.7483:-0.10167"
  307.  IF z(0)=4   THEN l1$="CAM:52.2100:+0.18500"
  308.  IF z(0)=8   THEN l1$="CON:53.1967:-2.19333"
  309.  IF z(0)=16  THEN l1$="DUN:51.1317:-0.38167"
  310.  IF z(0)=32  THEN l1$="KNI:52.5400:-3.22667"
  311.  IF z(0)=64  THEN l1$=" LA:51.5067:-2.00500"
  312.  IF z(0)=128 THEN l1$="LIC:52.7467:-1.71667"
  313.  IF z(1)=1   THEN l1$="MCR:53.3300:-2.32667"
  314.  IF z(1)=2   THEN l1$=" NH:52.6767:+1.38667"
  315.  IF z(1)=4   THEN l1$="WOD:51.4533:-0.87833"
  316. rb3:
  317.  IF z(2)<>32 THEN rb4
  318.  IF z(0)=2   THEN l1$="EHN:51.4756:+5.59056"
  319.  IF z(0)=4   THEN l1$="ENK:52.6742:+5.24139"
  320.  IF z(0)=8   THEN l1$="LAK:52.5122:+5.56944"
  321.  IF z(0)=16  THEN l1$="NYK:52.2319:+5.52611"
  322.  IF z(0)=32  THEN l1$="ROT:51.8986:+4.55472"
  323.  IF z(0)=64  THEN l1$="STD:51.7422:+4.24389"
  324.  IF z(0)=128 THEN l1$="THN:51.1842:+5.83389"
  325.  IF z(1)=1   THEN l1$="DEN:50.8823:+4.03077"
  326.  IF z(1)=2   THEN l1$="GAA:50.7783:+4.62833"
  327.  IF z(1)=4   THEN l1$="ONT:51.2150:+5.55833"
  328. rb4:
  329.  LOCATE 12,6:PRINT LEFT$(l1$,3);:f9=VAL(MID$(l1$,5,7)):f0=VAL(RIGHT$(l1$,8))
  330.  IF z(2)<>64 THEN rb5 
  331.  IF z(0)=2   THEN v$="BCN:51.7233:-3.26167:8.2"
  332.  IF z(0)=4   THEN v$="BIG:51.3300:+0.03667:6.6"
  333.  IF z(0)=8   THEN v$="BNN:51.7250:-0.54833:7.0"
  334.  IF z(0)=16  THEN v$="BUR:51.5167:-0.66833:7.1"
  335.  IF z(0)=32  THEN v$="BTN:53.4583:-2.45500:7.8"
  336.  IF z(0)=64  THEN v$="CFD:52.0733:-0.61000:7.1"
  337.  IF z(0)=128 THEN v$="CLN:51.8483:+1.15000:5.8"
  338.  IF z(1)=1   THEN v$="DET:51.3033:+0.59833:6.2"
  339.  IF z(1)=2   THEN v$="DTY:52.1800:-1.11167:7.3"
  340.  IF z(1)=4   THEN v$="DVR:51.1617:+1.35667:5.7"
  341. rb5: 
  342.  IF z(6)<>16 THEN rb6
  343.  IF z(0)=2   THEN v$="GAM:53.2817:-0.94500:7.3"
  344.  IF z(0)=4   THEN v$="HON:52.3583:-1.65833:7.4"
  345.  IF z(0)=8   THEN v$="IBY:50.8933:-1.74833:7.4"
  346.  IF z(0)=16  THEN v$="LAM:51.6450:+0.15333:6.3"
  347.  IF z(0)=32  THEN v$="LON:51.4867:-0.46500:7.0"
  348.  IF z(0)=64  THEN v$="MAY:51.0167:+0.11833:6.5"
  349.  IF z(0)=128 THEN v$="MID:51.0533:-0.62333:7.0"
  350.  IF z(1)=1   THEN v$="OCK:51.3050:-0.44500:6.9"
  351.  IF z(1)=2   THEN v$="SFD:50.7600:+0.12333:6.4"
  352.  IF z(1)=4   THEN v$="WAL:53.3917:-3.13333:8.0"
  353. rb6:
  354.  IF z(6)<>4 THEN rb7
  355.  IF z(0)=2   THEN v$="EEL:53.1650:+6.66722:3.3"
  356.  IF z(0)=4   THEN v$="HDR:52.9081:+4.76611:3.9"
  357.  IF z(0)=8   THEN v$="HSD:51.7236:+3.85833:4.4"
  358.  IF z(0)=16  THEN v$="MAS:50.9728:+5.96083:3.4"
  359.  IF z(0)=32  THEN v$="PAM:52.3358:+5.09250:3.7"
  360.  IF z(0)=64  THEN v$="RKN:52.1342:+6.76444:3.0"
  361.  IF z(0)=128 THEN v$="RTM:51.9747:+4.48139:4.1"
  362.  IF z(1)=1   THEN v$="SPL:52.2847:+4.75583:3.9"
  363.  IF z(1)=2   THEN v$="SPY:52.5414:+4.85417:3.9"
  364. rb7: 
  365.  IF z(6)<>2 THEN rb8
  366.  IF z(0)=2   THEN v$="BUB:50.9017:+4.53667:3.9"
  367.  IF z(0)=4   THEN v$="BUN:51.0767:+4.77333:4.0"
  368.  IF z(0)=8   THEN v$="CIV:50.5750:+3.83333:4.6"
  369.  IF z(0)=16  THEN v$="COA:51.3483:+3.35500:4.6"
  370.  IF z(0)=32  THEN v$="KOK:51.0950:+2.65333:4.8"
  371.  IF z(0)=64  THEN v$="LNO:50.5867:+5.71139:3.5"
  372.  IF z(0)=128 THEN v$="NIK:51.1658:+4.18528:4.3"
  373.  IF z(1)=1   THEN v$="SPI:50.5150:+5.62500:3.5" 
  374. rb8: 
  375.  IF z(2)<>64 AND z(6)<>16 AND z(6)<>4 AND z(6)<>2 THEN rb9:
  376.  IF z(9)=32 THEN sf=1:LOCATE 17,64:PRINT"S";:GOTO rb9
  377.  IF z(9)=16 THEN sf=5:LOCATE 17,64:PRINT"L";:GOTO rb9
  378.  IF z(8)=1  THEN v2$=v$ :ELSE v1$=v$
  379.  LOCATE 13,72:PRINT LEFT$(v1$,3);:LOCATE 16,72:PRINT LEFT$(v2$,3);
  380.  f1=VAL(MID$(v1$,5,7)):f2=VAL(MID$(v1$,13,8)):md=VAL(RIGHT$(v1$,3))
  381.  f3=VAL(MID$(v2$,5,7)):f4=VAL(MID$(v2$,13,8)):me=VAL(RIGHT$(v2$,3))
  382. rb9: 
  383.  px=5+(z(8)=1)*4:py=px
  384.  IF z(9)=128 THEN px=-px 
  385.  IF z(9)<>64 AND z(9)<>128 THEN px=0
  386.  abo=ab:IF z(2)=8 THEN ab=ab+px
  387.  IF ABS(ab)>25 THEN ab=SGN(ab)*25
  388.  IF h=0 THEN ab=0
  389.  ano=an:IF z(6)=64 THEN an=an+0.1*px
  390.  IF ABS(an)>6 THEN an=SGN(an)*6
  391.  IF z(9)=32 THEN py=-py 
  392.  IF z(9)<>16 AND z(9)<>32 THEN py=0
  393.  IF z(2)=16 THEN n1=n1+2*py
  394.  IF n1<n0 AND mr=1 THEN n1=n0 
  395.  IF ABS(n1)>n2 THEN n1=SGN(n1)*n2
  396.  apo=ap:IF z(3)=2 AND si>80 THEN ap=ap+c5*py
  397.  IF h=0 THEN IF ap<0 OR si<80 THEN ap=0 
  398.  IF h=0 AND ap>14 THEN ap=14
  399.  IF h>0 OR ap>0 THEN an=0 
  400.  IF z(9)<>32 THEN jp2
  401.  IF z(2)=1 THEN CLS:GOTO restart
  402.  IF z(2)=4 AND h=0 THEN n1=-n0:mr=c5:tr=1:LOCATE 10,52:PRINT"*R*";
  403.  IF z(2)=128 THEN 
  404.    q=0:LINE(t3,90)-(t3+1,122),0,bf:LINE(267,t4)-(363,t4+1),0,bf
  405.    LOCATE 17,33:PRINT co$;:LOCATE 17,43:PRINT co$;
  406.  END IF  
  407.  IF z(3)=32 THEN o1=0
  408.  IF z(3)=64 THEN o2=0
  409.  IF z(3)=128 THEN o3=0
  410.  IF z(4)=1 THEN LOCATE 8,73:PRINT" ON";:xr=50
  411.  IF z(4)=2 THEN st=st+1:IF st>2 THEN st=2
  412.  IF z(4)=8 AND st>=1 AND si<270-nt*10 THEN nt=nt+1:IF nt>7 THEN nt=7
  413.  IF z(4)=16 THEN uc=1
  414.  IF z(6)=32 THEN uw=1:LOCATE 9,73:PRINT" ON";
  415.  IF z(6)=128 AND fl>15000 THEN fl=fl-5000:m=m-5000 
  416. jp2: 
  417.  IF z(9)<>16 THEN jp4
  418.  IF z(2)=4 THEN n1=n0:mr=1:tr=0:LOCATE 10,52:PRINT"   ";
  419.  IF z(2)=128 THEN q=1
  420.  IF z(3)=32 THEN o1=1
  421.  IF z(3)=64 THEN o2=1
  422.  IF z(3)=128 THEN o3=1
  423.  IF z(4)=1 THEN xr=0:LOCATE 8,73:PRINT"OFF";
  424.  IF z(4)=2 THEN st=st-1:IF st<0 THEN st=0
  425.  IF z(4)=8 THEN nt=nt-1:IF nt<0 THEN nt=0
  426.  IF z(4)=16 THEN uc=0
  427.  IF z(6)=32 THEN uw=0:LOCATE 9,73:PRINT"OFF";
  428. jp4:
  429.  IF z(3)=32 AND z(1)=4 AND q=1 AND h<20 AND h>0 THEN uk=2 :ELSE uk=0
  430.  IF uk=2 AND ea<1 AND dv<du AND ABS(ak-rd)>2 AND ABS(fd-rd)<9 THEN uk=1
  431.  IF z(4)<>4 OR h=0 GOTO jp6
  432. rwy:
  433.  IF z(0)=2   THEN rw$="ASD 19R:183:1.944:52.3001:+4.73996:52.3297:+4.74250"
  434.  IF z(0)=4   THEN rw$="ASD 24 :238:1.971:52.2894:+4.73212:52.3054:+4.77387"
  435.  IF z(0)=8   THEN rw$="ASD 27 :267:2.025:52.3190:+4.74212:52.3206:+4.79278"
  436.  IF z(0)=16  THEN rw$="BMH 15 :146:1.333:52.4450:-1.73777:52.4609:-1.75566"
  437.  IF z(0)=32  THEN rw$="BXL 25L:250:1.900:50.8852:+4.46480:50.8951:+4.50772"
  438.  IF z(0)=64  THEN rw$="LGW 08 :078:1.513:51.1498:-0.16680:51.1451:-0.20190"
  439.  IF z(0)=128 THEN rw$="LHR 10R:090:1.974:51.4686:-0.43153:51.4686:-0.48000"
  440.  IF z(1)=1   THEN rw$="MCR 06 :051:1.498:53.3624:-2.25924:53.3484:-2.28823"
  441.  IF z(1)=2   THEN rw$="MST 22 :213:1.513:50.9025:+5.75641:50.9214:+5.77583"
  442.  IF z(1)=4   THEN rw$="RTD 24 :237:1.349:51.9514:+4.42174:51.9622:+4.44861"
  443.  rd=VAL(MID$(rw$,9,3)):du=VAL(MID$(rw$,15,5)):f5=VAL(MID$(rw$,19,7))
  444.  f6=VAL(MID$(rw$,27,8)):f7=VAL(MID$(rw$,36,7)):f8=VAL(RIGHT$(rw$,8))
  445.  IF tt=0 THEN tt=1:GOTO rtn1 :ELSE LOCATE 16,9:PRINT LEFT$(rw$,7);
  446. jp6:
  447.  LOCATE 2,35:PRINT USING ca$;ABS(ap);
  448.  IF ap=0 OR (ap<0 AND apo>0) OR (ap>0 AND apo<0) THEN LOCATE 2,33:PRINT"  ";
  449.  IF ap>0 THEN PUT(256,8),uu%,OR
  450.  IF ap<0 THEN PUT(256,8),dd%,OR
  451.  LOCATE 2,40:PRINT USING cs$;ABS(ab);
  452.  IF ab=0 OR (ab<0 AND abo>0) OR (ab>0 AND abo<0) THEN LOCATE 2,48:PRINT"  ";
  453.  IF ab>0 THEN PUT(376,8),rr%,OR
  454.  IF ab<0 THEN PUT(376,8),ll%,OR
  455.  LOCATE 3,44
  456.  IF h=0 AND ap=0 AND xo=12 THEN PRINT USING cx$;ABS(an); 
  457.  IF h=0 AND ap>0 AND ap<6 THEN PRINT co$;
  458.  IF an=0 OR (an<0 AND ano>0) OR (an>0 AND ano<0) THEN LOCATE 3,48:PRINT"  ";
  459.  IF an>0 THEN PUT(376,16),rr%,OR
  460.  IF an<0 THEN PUT(376,16),ll%,OR
  461.  s1=ap:s2=ab/2:s3=ab/4:s4=44+s1
  462.  LINE (260,p1)-(264,p1),0
  463.  IF ABS(s1+s2)<28 THEN p1=s4+s2:LINE (260,p1)-(264,p1),3
  464.  LINE (292,p2)-(296,p2),0
  465.  IF ABS(s1+s3)<28 THEN p2=s4+s3:LINE (292,p2)-(296,p2),3
  466.  LINE (352,p3)-(356,p3),0
  467.  IF ABS(s1-s3)<28 THEN p3=s4-s3:LINE (352,p3)-(356,p3),3
  468.  LINE (388,p4)-(392,p4),0
  469.  IF ABS(s1-s2)<28 THEN p4=s4-s2:LINE (388,p4)-(392,p4),3
  470.  GOTO rtn2
  471. prep:
  472.  LOCATE 12,5:PRINT"Empty weight                      115 tons"
  473.  LOCATE 13,5:PRINT"Max take-off weight              ";wm;" tons"
  474. agn2:
  475.  LOCATE 14,5:INPUT"Enter payload (0 to 45 tons)     ";pl
  476.  IF pl<0 OR pl>45 THEN agn2
  477.  zm=wm-pl-115:IF zm>105 THEN zm=105
  478. agn3: 
  479.  LOCATE 15,5:PRINT"Enter fuelload (15 to";zm;" tons)  ";:INPUT fl
  480.  IF fl<15 OR fl>zm THEN agn3
  481.  CLS:m=115+fl+pl:fl=fl*q9:m=m*q9:cw=SQR(m/mz):v2=cw*v6:vr=v2-8
  482.  v1=v2-15:IF v1>160 THEN v1=160
  483.  LOCATE  2,10:PRINT"DC-10 take-off data :"
  484.  LOCATE  4,10:PRINT"T.O. RWY   ";LEFT$(rw$,7)
  485.  LOCATE  6,10:PRINT"Fuel     ";fl/q9;" tons"
  486.  LOCATE  7,10:PRINT"T.O.W.  ";m/q9;" tons"
  487.  LOCATE  9,10:PRINT"V 1  =  ";v1;" kt"
  488.  LOCATE 10,10:PRINT"V R  =  ";vr;" kt"
  489.  LOCATE 11,10:PRINT"V 2  =  ";v2;" kt"      
  490.  LOCATE 13,10:PRINT"Start FLAP retraction at : ";v2+20;" kt"
  491.  LOCATE 14,10:PRINT"Start SLAT retraction at : ";v2+60;" kt"
  492.  LOCATE 17,10:INPUT"To continue with pre take-off checks, press enter";x
  493.  CLS:LINE (0,83)-(640,83),1:LINE(0,144)-(640,144),1
  494.  LINE (240,0)-(240,83),1:LINE (400,0)-(400,83),1
  495.  LINE (251,83)-(251,144),1:LINE (389,83)-(389,144),1
  496.  LINE (125,0)-(125,144),1:LINE (515,0)-(515,144),1
  497.  LINE (180,8)-(180,62),2
  498.  FOR x=0 TO 3:LINE(176,58-16*x)-(180,58-16*x),2:NEXT
  499.  FOR x=0 TO 2:LINE (425+33*x,16)-(425+33*x,62),2:NEXT 
  500.  FOR x=0 TO 5:LINE (425,22+8*x)-(428,22+8*x),2:NEXT
  501.  FOR x=0 TO 5:LINE (488,22+8*x)-(491,22+8*x),2:NEXT
  502.  LINE (554,20)-(554,36),2:LINE (596,20)-(596,52),2
  503.  FOR x=0 TO 2:LINE (554,20+8*x)-(557,20+8*x),2:NEXT
  504.  FOR x=0 TO 4:LINE (593,20+8*x)-(596,20+8*x),2:NEXT
  505.  LINE(548,20)-(552,20),3:LINE(598,20)-(602,20),3
  506.  LINE (310,88)-(320,88),2:LINE (310,124)-(320,124),2
  507.  LINE (264,100)-(265,112),2,bf:LINE (366,100)-(367,112),2,bf
  508.  LINE (110,90)-(114,92),3,bf:LINE (135,90)-(139,92),2,bf
  509.  LINE (610,90)-(614,92),3,bf:LINE (610,114)-(614,116),2,bf
  510.  LOCATE 3,2:PRINT"AUW :":LOCATE 4,2:PRINT"FUEL:":LOCATE 5,2:PRINT"FFHR:"
  511.  LOCATE 7,7:PRINT"M:":LOCATE 8,5:PRINT"TAS:":LOCATE 9,3:PRINT"WD:"
  512.  LOCATE 10,6:PRINT"GS:":LOCATE 9,19:PRINT"IAS :":LOCATE 10,19:PRINT"VSI :"
  513.  LOCATE 2,26:PRINT"IAS":FOR x=1 TO 4:LOCATE 10-2*x,18:PRINT 100*x;:NEXT
  514.  LOCATE 6,39:PRINT"--O--":LOCATE 10,36:PRINT"ALT:":LOCATE 2,57:PRINT"N1"
  515.  LOCATE 2,37:PRINT"0.0  0/0.0";:LOCATE 3,44:PRINT"0.0";
  516.  FOR x=0 TO 4:LOCATE 8-x,55:PRINT USING".#";x/5;:NEXT
  517.  FOR x=0 TO 4:LOCATE 8-x,59:PRINT USING".#";x/5;:NEXT
  518.  LOCATE 3,55:PRINT"1.";:LOCATE 3,59:PRINT"1.";
  519.  LOCATE 2,69:PRINT"SL   FL":LOCATE 8,70:PRINT"AB:OFF"
  520.  LOCATE 9,70:PRINT"WB:OFF":LOCATE 10,70:PRINT"LG:DN"
  521.  FOR x=0 TO 4:LOCATE 3+x,71:PRINT 15*x+(x=4)*5;:NEXT
  522.  LOCATE 12,2:PRINT"ADF:EHN":LOCATE 13,3:PRINT"BG:":LOCATE 14,2:PRINT"RBG:"
  523.  LOCATE 16,1:PRINT"DME RWY ";LEFT$(rw$,7);:LOCATE 12,21:PRINT"HDG:"
  524.  LOCATE 17,39:PRINT"ILS";:LOCATE 12,54:PRINT"TRK:":LOCATE 17,64:PRINT"L";
  525.  LOCATE 12,67:PRINT"DME/VOR 1":LOCATE 13,72:PRINT"SPL";
  526.  LOCATE 15,67:PRINT"DME/VOR 2":LOCATE 16,72:PRINT"LON";
  527.  LOCATE 14,67:PRINT"RGB:":LOCATE 17,67:PRINT"RGB:";
  528.  LOCATE 13,24:PRINT"N":LOCATE 15,19:PRINT"W    *    E"
  529.  LOCATE 17,24:PRINT"S";:LOCATE 15,57:PRINT"+"
  530.  GOTO rtn2
  531. lstall:
  532. qt=qs+4+(st=0):IF aa>=qs AND aa<qt THEN LOCATE 3,37:PRINT"BUFFETING";
  533. IF aa>+qt THEN LOCATE 3,37:PRINT"* STALL *";
  534. IF aa>qt+3 THEN ap=ap-INT(aa/4)
  535. IF aa>qt+13 THEN
  536.   CLS:LOCATE 4,20:PRINT"W I T H I N   A   M I N U T E   O R   S O
  537.   LOCATE 8,10:PRINT"Y O U   W I L L   C R A S H    B E C A U S E    O F"
  538.   LOCATE 12,20:PRINT"L O W   S P E E D    S T A L L":GOTO crash9
  539. ELSE
  540.   GOTO rtn3
  541. END IF
  542. hstall:
  543.  CLS:LOCATE 4,20:PRINT"W I T H I N   A   M I N U T E   O R   S O"
  544.  LOCATE 8,10:PRINT"Y O U   W I L L   C R A S H   B E C A U S E   O F"
  545.  LOCATE 12,20:PRINT"H I G H   S P E E D    S T A L L ":GOTO crash9
  546. crash1:
  547.  CLS:LOCATE 8,30:PRINT"YOU LANDED SHORT OF RUNWAY":GOTO restart
  548. crash2:
  549.  CLS:LOCATE 8,30:PRINT"IT WAS A CRASH LANDING":GOTO restart
  550. crash3:
  551.  CLS:LOCATE 8,30:PRINT"IT WAS A HEAVY LANDING":GOTO restart
  552. crash4:
  553.  CLS:LOCATE 8,30:PRINT"YOU SLID OF THE RUNWAY":GOTO restart
  554. crash5:
  555.  CLS:LOCATE 8,30:PRINT"YOU OVERRUN THE RUNWAY":GOTO restart
  556. crash7:
  557.  CLS:LOCATE 8,30:PRINT"YOU LANDED WITH YOU WHEELS UP":GOTO restart    
  558. crash9:
  559.  FOR a=0 TO 2500+h:NEXT:CLS
  560.  FOR x=2 TO 12 STEP 2:LOCATE x,1+RND*60:PRINT"B A N G":NEXT
  561.  LOCATE 15,25:PRINT"Y O U   H A V E   C R A S H E D  ! ! !"  
  562. restart:
  563.  LOCATE 17,30:PRINT "T R Y   I T   A G A I N";:FOR x=1 TO 9999:NEXT:RUN 
  564.                                                                  
  565.  
  566.